﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;

namespace LKVMLMADMIN.Models
{  
    public class PrefixModel
    {
        public string prefix { get; set; }
    }
    public class LocalPasswordModel
    {
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Current password")]
        public string OldPassword { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "New password")]
        public string NewPassword { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Confirm new password")]
        [System.ComponentModel.DataAnnotations.Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
        public string ConfirmPassword { get; set; }
    }
    public class LoginModel
    {
        [Required]
        [Display(Name = "User name")]
        public string UserName { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password { get; set; }

        [Display(Name = "Remember me?")]
        public bool RememberMe { get; set; }
    }
    public class PincodeModel
    {
        [Required]
        [Display(Name = "Pincode")]
        public string PinCode { get; set; }
    }
    public class SearchModel
    {
        [Required]
        [Display(Name = "User name")]
        public string UserName { get; set; }

        [Display(Name = "Fromdate")]
        [DataType(DataType.Date)]
        public string Fromdate { get; set; }

        [Display(Name = "Todate")]
        [DataType(DataType.Date)]
        public string Todate { get; set; }
    }

    public class RegisterModel
    {

        [Required(ErrorMessage = "Vui lòng nhập UserName")]
        [RegularExpression(@"^[a-zA-Z''-''_''.' 0-9\s]{1,40}$",
         ErrorMessage = "không nhập ký tự đặc biệt")]
        public string UserName { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập mật khẩu")]
        [StringLength(100, ErrorMessage = "mật khẩu phải ít nhất 6 ký tự .", MinimumLength = 6)]
        [Display(Name = "Password")]
        public string Password { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập họ tên")]
        [Display(Name = "Ho Ten")]
        public string HoTen { get; set; }     
        [Display(Name = "Gioi Tinh")]
        public string GioiTinh { get; set; }    
        [Display(Name = "Ngay Sinh")]
        public string NgaySinh { get; set; }      
        [Display(Name = "MSTCANHAN")]
        public string MSTCANHAN { get; set; }      
        [Display(Name = "Dia Chi")]
        public string DiaChi { get; set; }      
        [Display(Name = "Email")]
        public string Email { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập dữ liệu")]
        [Display(Name = "So ho Chieu")]
        public string SoCMND { get; set; }    
        [Display(Name = "Group_ID")]
        public string GroupID { get; set; }    
        [Display(Name = "LeftRight")]
        public string LeftRight { get; set; }   
        [Display(Name = "Parent_ID")]
        public int Parent_ID { get; set; }     
        [Display(Name = "Binary_ID")]
        public int Binary_ID { get; set; }     
        [Display(Name = "Ho Ten Vo Hoac Chong")]
        public string HoTenVoHoacChong { get; set; }    
        [Display(Name = "So cmnd vo hoc chong")]
        public string SoCMNDVOHOACCHONG { get; set; }  
        [Display(Name = "NOISINH")]
        public string NOISINH { get; set; }
     
        [Display(Name = "THANHPHO")]
        public string THANHPHO { get; set; }
     
        [Display(Name = "QUOCGIA")]
        public string QUOCGIA { get; set; }
    
        [Display(Name = "NOICAP")]
        public string NOICAP { get; set; }
    
        [Display(Name = "SDTNHARIENG")]
        public string SDTNHARIENG { get; set; }
       
        [Display(Name = "SDTNOILAMVIEC")]
        public string SDTNOILAMVIEC { get; set; }
      
        [Display(Name = "CreateDate")]
        public DateTime CreateDate { get; set; }
   
        [Display(Name = "NgayCap")]
        [DataType(DataType.Date)]
        public string NGAYCAP { get; set; }
        public List<SelectListItem> GroupDrop { get; set; }
        public List<SelectListItem> ParentDrop { get; set; }
        public List<SelectListItem> BinaryDrop { get; set; }      
        public string Name_IDParent { get; set; }
        public string Name_IDBinary { get; set; }
        public int soluongma { get; set; }
        public string SoTaiKhoan { get; set; }
        public string NganHang { get; set; }
    }
    public class PackageModel
    {
        public int idpk { get; set; }
        public string name { get; set; }
        public string ma { get; set; }
        public string gia { get; set; }
        public string diem { get; set; }
    }
    public class GroupModel
    {
        public int ID { get; set; }

        [Required(ErrorMessage = "Vui lòng nhập Tên nhóm")]
        [RegularExpression(@"^[a-zA-Z''-''_''.' 0-9\s]{1,40}$",
        ErrorMessage = "không nhập ký tự đặc biệt")]
        public string GroupName { get; set; }
    }
    public class ChuKyModel
    {
        public int ChuKyID { get; set; }
        public string TenChuKy { get; set; }
        public int? From { get; set; }
        public int? To { get; set; }
    }
    public class ExchangeModel
    {
        public int ID { get; set; }
        public double DauVao { get; set; }
        public double? DauRa { get; set; }
    }
    public class loadCommissionModels
    {
        public int? userid { get; set; }
        public string UserName { get; set; }
    }
    public class loadPaymentMethodModels
    {
        public int id { get; set; }
        public string Name { get; set; }
    }
    public class LoadLoaiHoaHongModels
    {
        public string CommissionName { get; set; }
        public string CommissionDesc { get; set; }
    }
    public class ProfileModel
    {
        public int UserId { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập UserName")]
        [RegularExpression(@"^[a-zA-Z''-''_''.' 0-9\s]{1,40}$",
         ErrorMessage = "không nhập ký tự đặc biệt")]
        public string UserName { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập mật khẩu")]
        [StringLength(100, ErrorMessage = "mật khẩu phải ít nhất 6 ký tự .", MinimumLength = 6)]
        [Display(Name = "Password")]
        public string Password { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập mật khẩu cấp 2")]
        [StringLength(100, ErrorMessage = "mật khẩu phải ít nhất 6 ký tự .", MinimumLength = 6)]
        [Display(Name = "Password Level 2")]
        public string SecondPassword { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập họ tên")]
        [Display(Name = "Ho Ten")]
        public string HoTen { get; set; }
        [Display(Name = "Gioi Tinh")]
        public string GioiTinh { get; set; }
        [Display(Name = "Ngay Sinh")]
        public string NgaySinh { get; set; }
        [Display(Name = "MSTCANHAN")]
        public string MSTCANHAN { get; set; }
        [Display(Name = "Dia Chi")]
        public string DiaChi { get; set; }
        [Display(Name = "Email")]
        public string Email { get; set; }
        [Required(ErrorMessage = "Vui lòng nhập dữ liệu")]
        [Display(Name = "So ho Chieu")]
        public string SoCMND { get; set; }
        [Display(Name = "Group_ID")]
        public string GroupID { get; set; }
        [Display(Name = "LeftRight")]
        public string LeftRight { get; set; }
        [Display(Name = "Parent_ID")]
        public int? Parent_ID { get; set; }
        [Display(Name = "Binary_ID")]
        public int? ParentB_ID { get; set; }
        [Display(Name = "Ho Ten Vo Hoac Chong")]
        public string HoTenVoHoacChong { get; set; }
        [Display(Name = "So cmnd vo hoc chong")]
        public string SoCMNDVOHOACCHONG { get; set; }
        [Display(Name = "NOISINH")]
        public string NOISINH { get; set; }
        [Display(Name = "THANHPHO")]
        public string THANHPHO { get; set; }
        [Display(Name = "QUOCGIA")]
        public string QUOCGIA { get; set; }
        [Display(Name = "NOICAP")]
        public string NOICAP { get; set; }
        [Display(Name = "SDTNHARIENG")]
        public string SDTNHARIENG { get; set; }
        [Display(Name = "SDTNOILAMVIEC")]
        public string SDTNOILAMVIEC { get; set; }
        [Display(Name = "CreateDate")]
        public DateTime CreateDate { get; set; }
        [Display(Name = "NgayCap")]
        [DataType(DataType.Date)]
        public string NGAYCAP { get; set; }
        public List<SelectListItem> GroupDrop { get; set; }
        public List<SelectListItem> ParentDrop { get; set; }
        public List<SelectListItem> BinaryDrop { get; set; }
        public string Name_IDParent { get; set; }
        public string Name_IDBinary { get; set; }
        public int soluongma { get; set; }
        public string SoTaiKhoan { get; set; }
        public string NganHang { get; set; }
        public string LevelName { get; set; }
        public string UpTime { get; set; }
        public string SessionId { get; set; }
        public int? BankID { get; set; }
        public string BankName { get; set; }
    }
    public class UserLevelModels
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public double? Amount { get; set; }
        public double? Maximum { get; set; }
        public double? Minimum { get; set; }
    }
    public class FeeConfigModels
    {
        public int Id { get; set; }
        public double? Addfund { get; set; }
        public double? Cashout { get; set; }
        public double? BuyStock { get; set; }
        public double? SellStock { get; set; }
        public double? PremiumEdit { get; set; }

    }
    public class GconfigModels
    {
        public int Id { get; set; }
        public double? ROI { get; set; }
        public bool? isMaintainent { get; set; }
        public bool? PenddingWallet { get; set; }

    }
    public class CaskBankConfigModels
    {
        public int UserId { get; set; }
        public string Type { get; set; }
        public double? Percent { get; set; }
    }
}
